Data or services may be replicated in an active or passive manner. Active replication is performed by processing the same request at every replica. In passive replication, each request is processed by a single replica and then the resulting state of the single replica is transferred to the other replicas.
In a primary-backup scheme, also known as a master-slave scheme, a single master replica is designated to process all of the requests. Alternatively, in a multi-primary scheme, also known as a multi-master scheme, any replica may process a request and then distribute the resulting state to the other replicas. In a multi-master scheme in which two or more databases are connected over a high-latency unreliable network, however, it may prove difficult to maintain synchronization between the databases or at least to maintain synchronization between the databases without incurring a time delay prior to completion of the replication.
Users of computing devices oftentimes utilize two or more computing devices, such as a mobile telephone, a personal digital assistant (PDA), a laptop computer, a tablet computer, a navigation system or the like. Users of multiple devices may desire to switch from one computing device to another computing device. In order to maintain continuity, a user who switches between computing devices may also desire to be presented with the same user interface and to have access to the same data on each of the computing devices. In an instance in which each computing device includes a database including information, such as user personal data, e.g., emails, notes, photos, etc. the databases of the various computing devices utilized by the user are desirably synchronized.
In some instances, such as in instances in which the computing devices are in communication via a high-latency unreliable network, the databases of the various computing devices of the user may not be synchronized at the time at which the user switches from one computing device to another computing device. While the databases may commence replication at the time that the user switches from one computing device to another computing device, the time required for the replication may be longer than the user desires with the user required to rely upon the older, potentially out-of-date data stored by the computing device to which the user switched until the database replication is completed. As such, the switch from one computing device to another computing device may not be as seamless as desired and the user's workflow may be correspondingly interrupted.